﻿using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Text;

namespace VisionCloud.Domain.DtoModel.Fms
{
    public class SaveInnerWallVisionCollectRqDto : WdcBaseRqDto
    {
        public double TotalGrindingArea { set; get; }
        public List<PointData> Data { set; get; }
        public List<Levels> AllLevels { set; get; }
        public string Level { set; get; }
    }

    public class Levels
    {
        public double AverageDeep { set; get; }
        public string Level { set; get; }
        public double PolishArea { set; get; }
    }

    public class PointData
    {
        public string DefaultLevel { set; get; }
        public Point3D EndPoint { set; get; }
        public List<GridDto> GridList { set; get; }
        public double GridSize { set; get; }
        public double Height { set; get; }
        public string SewList { set; get; }
        public Point3D StartPoint { set; get; }
        public VisionWallImageDto VisionWallImage { set; get; }
        public double Width { set; get; }
        public string Url { set; get; }

    }

    public class Point
    {
        public double X { set; get; }
        public double Y { set; get; }
    }
    public class Point3D : Point
    {
        public double Z { set; get; }
    }
    public class GridDto
    {
        public bool CanGrinding { set; get; }
        public int Col { set; get; }
        public bool Configurable { set; get; }
        public double Deep { set; get; }
        public int GrindingType { set; get; }
        [JsonProperty("lock")]
        public bool IsLock { set; get; }
        public List<LevelDto> Levels { set; get; }
        public int Row { set; get; }
    }
    public class LevelDto
    {
        public double Deep { set; get; }
        public string Level { set; get; }
    }
    public class VisionWallImageDto
    {
        public Point3D EndPoint { set; get; }
        public double Height { set; get; }
        public double Offset { set; get; }
        public Point3D StartPoint { set; get; }
        public string Url { set; get; }
        public double Width { set; get; }
    }
}
